今天想把一个Android Eclipse项目导出到Android Studio中之后,就Google了一下教程,整个导出过程也挺顺利,但是后面还是遇到了一个棘手的问题,我调试用的虚拟机是Genymotion,之前eclipse 和studio都是公用这一个Genymotion虚拟机调试,但是这次在运行从Eclipse导出到Studio的项目的时候,一直提示:
1 | ADB not responding. If you\'d like to retry |
刚开始我以为是刚导出的原因,是不是之前Eclipse的adb连着这个Genymotion虚拟机,导致出现这样的错误,于是我就开始尝试:
- 关闭Genymotion虚拟机,重新在Studio中通过Genymotion的插件启动Genymotion虚拟机,结果是:Not work
- 重启电脑,依然Not work
我试着Google了一下,发现好像蛮多人遇到这个问题,但是要么就是别人在Stack Overflow提问没人回答,要么就是有人给出答案,无非就是说因为电脑里面有两个sdk目录(一个eclipse的sdk,一个studio的sdk),需要重启一下adb服务,也就是执行下面这两行代码:1
2adb kill-server
adb start-server
但是还是没用,还有答案就是说通过ps aux | grep adb
获取adb的进程号,然后kill掉,在我这里一样不起作用,就在我想暂时放弃Genymotion
虚拟机使用AS自带的avd创建一个虚拟机的时候,突然发现有一个日文博客(点击这里) 给了我一点思路,也就是打开Genymotion
的主界面,如图:
然后点击Settings
,打开设置界面,选择ADB
我虽然看不懂日文,但是感觉博主的意思是之前选择了Use custom Android SDK tools
让改成选择Use Genymotion Android tools
来解决问题,但是我的设置里面选择的就是第一项:使用Genymotion
默认的android工具,但是都到这里了我不如试一下第二项,将android-sdk
的目录指向我的studio使用的sdk目录,(如果有多个sdk目录的,别选择错了),完事之后,我重新启动了一下Genymotion
虚拟机,然后重新执行studio中的从eclipse导出的项目,居然OK了,我自己都不敢相信。。
PS:我的操作系统是Linux mint 64
位
疑惑:我后面又重新将ADB选项改为第一个(默认的),再次重新启动Genymotion试了一下,也不会报之前的错误了,我就不大明白了。。。